/* 
    实现功能
    1 业主来说 必须要登录 才能看到通行证
    2 业主朋友 无须登录也能看到通行证
    解决方案
    1 业主 调用接口的时候，接口会返回一个加密的字段 encrypte
    2 业主在分享 通行证页面的时候 传递了 加密字段过去path: '/visitor_pkg/pages/passport/index?encrypted='+this.data.encryptedData,
    3 业主朋友 点击了 url 业主朋友打开了 通行证页面
    4 触发通行证页面的 生命周期 onLoad获取到了加密属性 encrypted
    5 去调用另外的一个接口 获取通行证数据即可 即可实现页面的渲染
    GEThttps://live-apiitheima.net/visitor/share/(encryptedData)
    当前接口不校验token~~~
*/

Page({
  data: {
    // 加密数据
    encryptedData: '',
    // 房屋信息
    houseInfo: '',
    id: '',
    // 二维码地址
    url: '',
    // 预约时间
    validTime: '',
    // token
    islogin: !!getApp().token
  },
  // 业主有id  业主朋友有encrypted
  onLoad({ id, encrypted }) {
    if (id) {
      // 业主
      this.getVisitorDetails1(id)
    } else {
      // 业主朋友
      this.getVisitorDetails2(encrypted)
    }
  },
  // 给业主使用的
  async getVisitorDetails1(id) {
    const res = await wx.http({ url: `/visitor/${id}` })
    // console.log(8, res);
    this.setData(res.data)
  },
  // 给业主朋友使用
  async getVisitorDetails2(encrypted) {
    const res = await wx.http({ url: `/visitor/share/${encrypted}` })
    // console.log(8, res);
    this.setData(res.data)
  },
  /* 
  实现小程序的转发功能
  1.写一个button按钮 让其 open-type='share'
  2.当我们点击了按钮以后 会触发一个页面的转发事件 onShareAppMessage 名字固定
  3.在这个事件中返回了一个对象 表示开发者想要自定义一些页面的分享效果
     title:表示页面分享的标题
     path：表示 朋友点击了你的分享连接后会跳转到哪个页面
     imageUrl:分享页面的截图
  */
  onShareAppMessage() {
    return {
      title: '查看通行证',
      path: '/visitor_pkg/pages/passport/index?encrypted=' + this.data.encryptedData,
      imageUrl: '/miniprogram/static/images/visitUrl.png'
    }
  },
  // 保存到本地
  async onSaveImageToPhotosAlbum() {
    // 将网络图片保存带本地
    const { path } = await wx.getImageInfo({
      src: this.data.url
    })
    // 将图片保存到相册中
    const res = await wx.saveImageToPhotosAlbum({
      filePath: path
    })
    console.log(res);
    wx.showToast({ title: "图片保存成功" })
  }

})
